package test06.stream.demo01;

import java.util.Arrays;
import java.util.List;
import java.util.stream.Stream;

/**
 * @author CSY
 * @date 2025 - 04 - 07
 */
public class MainTest {
    public static void main(String[] args) {
        //第一：定义数据源（集合、数组）
        List<Integer> list = Arrays.asList(1, 4, 5, 3, 2);
        //第二：将数据源转换为Stream对象 - 流对象
        Stream<Integer> stream = list.stream();

        //第三：使用流对象的API方法，实现相关的操作 - 函数式接口 - Lambda表达式、方法引用
        //流对象的API方法主要划分两类：延迟方法、终结方法
        //语法：流对象.延迟方法1().延迟方法2()...延迟方法N(). 终结方法();
        stream.sorted((o1,o2) -> o2-o1)
                .filter((integer) -> integer > 3)
                .forEach(System.out::println);
    }
}
